﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace V82.ОбщиеМодули
{
	public partial class Бюджетирование
	{
		// Возвращает курс валюты по сценарию на дату
		//
		//
		// Параметры:
		//  Валюта    - Валюта (элемент справочника "Валюты")
		//  ДатаКурса - Дата, на которую следует получить курс
		//  Сценарий (элемент справочника "Сценарии") - сценарий планирования
		//
		// Возвращаемое значение:
		//  Курс, с учетом кратности
		//

		public object КурсВалютыПоСценарию(/*Валюта, ДатаКурса, Сценарий*/)
		{
			//СтруктураОтбора=Новый Структура;
			//СтруктураОтбора.Вставить("Валюта", Валюта);
			if(true/*Сценарий.ИспользоватьКурсыСценария*/)
			{
				//СтруктураОтбора.Вставить("Сценарий", Сценарий);
				//Структура = РегистрыСведений.КурсыВалютПоСценариям.ПолучитьПоследнее(ДатаКурса, СтруктураОтбора);
			}
			return null;
		}
		// КурсВалютыПоСценарию()
		// Возвращает структуру с курсами и кратностями для валют, переданных в качестве параметра
		//
		// Параметры
		//  СтруктураГруппаВалют: Структура - Структура, содержащее валюты, для которых необходимо получить курсы
		//	ДатаКурса: Дата - дата, на которую необходимо получить курсы.
		//
		// Возвращаемое значение:
		//   СтруктураКурсыВалют: структура - структура, содержащая курсы для указанных валют.
		//

		public object ПолучитьКурсыСценарияДляГруппыВалют(/*СтруктураГруппаВалют,ДатаКурса,Сценарий*/)
		{
			//Запрос=Новый Запрос;
			//СписокВалют=Новый СписокЗначений;
			/*ТекстЗапроса="ВЫБРАТЬ
	             |	КурсыВалютСрезПоследних.Курс КАК Курс,
	             |	КурсыВалютСрезПоследних.Кратность КАК Кратность,
	             |	КурсыВалютСрезПоследних.Валюта.Код КАК КодВалюты,
	             |	КурсыВалютСрезПоследних.Валюта.Ссылка КАК Валюта";*/
			if(true/*Сценарий.ИспользоватьКурсыСценария*/)
			{
				/*ТекстЗапроса=ТекстЗапроса+"
		|ИЗ
	    |	РегистрСведений.КурсыВалютПоСценариям.СрезПоследних(&ДатаКурса, (Валюта.Код В (&СписокВалют)) И (Сценарий=&Сценарий)) КАК КурсыВалютСрезПоследних";*/
			}
			//Запрос.Текст=ТекстЗапроса;
			//Запрос.УстановитьПараметр("ДатаКурса",ДатаКурса);
			//Запрос.УстановитьПараметр("СписокВалют",СписокВалют);
			//Запрос.УстановитьПараметр("Сценарий",Сценарий);
			//СтруктураКурсыВалют=Новый Структура;
			//Результат=Запрос.Выполнить().Выгрузить();
			return null;
		}
		// УправлениеДенежнымиСредствами.ПолучитьКурсыДляГруппыВалют()
		// Возвращает количество периодов между указанными датами
		//
		// Параметры
		//  ДатаНачала, ДатаКонца: Дата  – границы интервала
		//  Периодичность (Перечисления.Периодичность): периодичность планирования
		//
		// Возвращаемое значение:
		//   КоличествоПериодов   – количество периодов в переданном интервале
		//

		public object РассчитатьКоличествоПериодов(/*ДатаНачала,ДатаКонца,Периодичность*/)
		{
			if(true/*ДатаНачала<ДатаКонца*/)
			{
				//ИсходнаяДата=ДатаНачала;
				//КонечнаяДата=ДатаКонца;
				//Коэффициент=1;
			}
			//КоличествоПериодов=0;
			//ТекущаяДата=ИсходнаяДата;
			while(true/*ОбщегоНазначения.ДатаКонцаПериода(ТекущаяДата,Периодичность)<=КонецДня(КонечнаяДата)*/)
			{
				//КоличествоПериодов=КоличествоПериодов+1;
				//ТекущаяДата=ОбщегоНазначения.ДобавитьИнтервал(ТекущаяДата,Периодичность,1);
			}
			return null;
		}
		// РассчитатьКоличествоПериодов()
		// Возвращает текст фрагмента запроса с выборками по стандартным периодам
		//
		// Параметры
		//	Периодичность(строка)	– периодичность выборки данных запроса
		//  Период(строка)			- имя измерения, в котором хранится период данных
		//
		// Возвращаемое значение:
		//   ТекстЗапросаПоПериодам   – текст фрагмента запроса
		//

		public object СформироватьТекстЗапросаПоПериодам(/*Периодичность,Период*/)
		{
			//СписокПериодов=Новый СписокЗначений;
			//СписокПериодов.Добавить("День");
			//СписокПериодов.Добавить("Неделя");
			//СписокПериодов.Добавить("Месяц");
			//СписокПериодов.Добавить("Квартал");
			//СписокПериодов.Добавить("Год");
			//ТекстЗапросаПоПериодам="";
			//НачальныйИндекс=СписокПериодов.Индекс(СписокПериодов.НайтиПоЗначению(Периодичность));
			return null;
		}
		// СформироватьТекстЗапросаПоПериодам()
		// Функция формирует список для отбора источников данных, у которых в составе
		// ТЧ "ИзмеренияДляРаспределения" есть выбранное измерение бюджетирования.
		//

		public object СписокИсточниковДляИзмерения(/*ИзмерениеБюджетирования*/)
		{
			//Запрос=Новый Запрос;
			/*Запрос.Текст="ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	ИсточникиДанныхДляРасчетовБюджетирования.Наименование
	|ИЗ
	|	Справочник.ИсточникиДанныхДляРасчетовБюджетирования КАК ИсточникиДанныхДляРасчетовБюджетирования
	|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ИсточникиДанныхДляРасчетовБюджетирования.ИзмеренияИсточника КАК ИсточникиДанныхДляРасчетовБюджетированияИзмеренияИсточника
	|		ПО ИсточникиДанныхДляРасчетовБюджетирования.Ссылка = ИсточникиДанныхДляРасчетовБюджетированияИзмеренияИсточника.Ссылка
	|
	|ГДЕ
	|	ИсточникиДанныхДляРасчетовБюджетированияИзмеренияИсточника.ИзмерениеБюджетирования = &ИзмерениеБюджетирования";*/
			//Запрос.УстановитьПараметр("ИзмерениеБюджетирования",ИзмерениеБюджетирования);
			//СписокОтбора=Новый СписокЗначений;
			//СписокОтбора.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Наименование"));
			return null;
		}
		// СписокИсточниковДляИзмерения()
		// Функция формирует список элементов перечисления, пропуская исключаемые
		//
		// Параметры
		//  ИмяПеречисления - имя перечисления, как оно задано в конфигураторе
		//  СтруктураИсключение - структура, содержащая имена перечислений, которые не должны попадать в список.
		//
		// Возвращаемое значение:
		//   СписокЗначений - список элементов перечисления
		//

		public object ПолучитьСписокЭлементовПеречисленияОтбор(/*ИмяПеречисления, СтруктураИсключение*/)
		{
			//СписокЭлементовПеречисления = Новый СписокЗначений;
			return null;
		}
		// ОбщегоНазначения.ПолучитьСписокЭлементовПеречисления()
		// Проверяет наличие в системе курсов валют, необходимых для проведения документа
		//

		public void ПроверкаКурсовВалютСценарии(/*ТаблицаВалют,Отказ,Заголовок*/)
		{
			//ВалютаУпрУчета=глЗначениеПеременной("ВалютаУправленческогоУчета");
			//ТекстОшибки="";
			if(true/*СтрДлина(ТекстОшибки)>0*/)
			{
				//ОбщегоНазначения.СообщитьОбОшибке(ТекстОшибки,Отказ,Заголовок);
			}
		}
		// ПроверкаКурсовВалют()
		// Возвращает таблицу для проверки контролируемых значений
		//

		public object СформироватьТаблицуДляКонтроля(/*Ссылка, СтруктураПараметров*/)
		{
			//ЕстьРасчетыСКонтрагентами = СтруктураПараметров.ЕстьРасчетыСКонтрагентами;
			//ЕстьРасчетыПоКредитам     = СтруктураПараметров.ЕстьРасчетыПоКредитам;
			//ВидОперации    = СтруктураПараметров.ВидОперации;
			//ДатаРасхода    = СтруктураПараметров.ДатаРасхода;
			//ВалютаУпрУчета = глЗначениеПеременной("ВалютаУправленческогоУчета");
			if(true/*ЕстьРасчетыСКонтрагентами ИЛИ ЕстьРасчетыПоКредитам*/)
			{
				//Запрос=Новый Запрос;
				/*Запрос.Текст = "ВЫБРАТЬ
		             |	РасшифровкаПлатежаДок.Ссылка.Сценарий КАК Сценарий,
		             |	РасшифровкаПлатежаДок.Ссылка.СтатьяОборотов КАК СтатьяОборотов,
		             |	РасшифровкаПлатежаДок.Ссылка.ЦФО КАК ЦФО,
		             |	РасшифровкаПлатежаДок.Ссылка.Контрагент КАК Контрагент,
		             |	РасшифровкаПлатежаДок.Ссылка.Номенклатура КАК Номенклатура,
		             |	РасшифровкаПлатежаДок.Проект КАК Проект,
		             |	СУММА(ВЫРАЗИТЬ(ВЫБОР
		             |				КОГДА РасшифровкаПлатежаДок.ДоговорКонтрагента.ВалютаВзаиморасчетов = &ВалютаУпрУчета
		             |					ТОГДА РасшифровкаПлатежаДок.СуммаВзаиморасчетов
		             |				КОГДА КурсыУпрУчета.Курс ЕСТЬ NULL 
		             |						ИЛИ РасшифровкаПлатежаДок.КурсВзаиморасчетов = 0
		             |					ТОГДА 0
		             |				КОГДА РасшифровкаПлатежаДок.ДоговорКонтрагента.ВалютаВзаиморасчетов <> &ВалютаУпрУчета
		             |						И КурсыУпрУчета.Курс <> 0
		             |						И РасшифровкаПлатежаДок.КурсВзаиморасчетов <> 0
		             |					ТОГДА РасшифровкаПлатежаДок.СуммаВзаиморасчетов * РасшифровкаПлатежаДок.КурсВзаиморасчетов * КурсыУпрУчета.Кратность / (КурсыУпрУчета.Курс * РасшифровкаПлатежаДок.КратностьВзаиморасчетов)
		             |				ИНАЧЕ 0
		             |			КОНЕЦ КАК ЧИСЛО(15, 2))) КАК СуммаУпр,
		             |	КурсыУпрУчета.Курс КАК КурсУпрУчета,
		             |	КурсыУпрУчета.Кратность КАК КратностьУпрУчета,
		             |	СУММА(РасшифровкаПлатежаДок.СуммаПлатежа) КАК СуммаПлатежа
		             |ИЗ
		             |	Документ.ЗаявкаНаРасходованиеСредств.РасшифровкаПлатежа КАК РасшифровкаПлатежаДок
		             |		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних(&ДатаРасхода, Валюта = &ВалютаУпрУчета) КАК КурсыУпрУчета
		             |		ПО (ИСТИНА)
		             |ГДЕ
		             |	РасшифровкаПлатежаДок.Ссылка = &Ссылка
		             |
		             |СГРУППИРОВАТЬ ПО
		             |	РасшифровкаПлатежаДок.Ссылка.Сценарий,
		             |	РасшифровкаПлатежаДок.Ссылка.СтатьяОборотов,
		             |	РасшифровкаПлатежаДок.Ссылка.ЦФО,
		             |	РасшифровкаПлатежаДок.Ссылка.Контрагент,
		             |	РасшифровкаПлатежаДок.Ссылка.Номенклатура,
		             |	РасшифровкаПлатежаДок.Проект,
		             |	КурсыУпрУчета.Курс,
		             |	КурсыУпрУчета.Кратность";*/
				//Запрос.УстановитьПараметр("ДатаРасхода", ДатаРасхода);
				//Запрос.УстановитьПараметр("ВалютаУпрУчета", ВалютаУпрУчета);
				//Запрос.УстановитьПараметр("Ссылка", Ссылка);
			}
			return null;
		}
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// Блок процедур для получения данных напрямую из учетных подсистем, используя источники данных
		////////////////////////////////////////////////////////////////////////////////////////////////////////////
		// Обороты по источникам данных

		public void ДобавитьВТекстОсновногоЗапросаОбороты(/*СтатьяИсточник,ТекстОсновногоЗапроса,ТекстЗапросаПериод,СтруктураПараметров,НомерСтатьи, 
								СтруктураИспользуемыхИзмерений,ДатаНач,ДатаКон*/)
		{
			//ПостроительОтчета=Новый ПостроительОтчета;
			/*// Основной построитель отчета
*/
			//ТекстЗапроса=СтатьяИсточник.ТекстЗапроса;
			//СохраненнаяНастройка=СтатьяИсточник.НастройкиПостроителя.Получить();
			//ИзмеренияИсточника=СтатьяИсточник.ИзмеренияИсточника.Выгрузить();
			//ДатыОтбораДанныхИсточника=СтатьяИсточник.ДатыОтбораДанныхИсточника.Выгрузить();
			//КодИсточника="Статья_"+НомерСтатьи;
			if(true/*ТипЗнч(СохраненнаяНастройка.НастройкиПостроителя)=Тип("НастройкиПостроителяОтчета")*/)
			{
				//ПостроительОтчета.Текст=ТекстЗапроса;
				if(true/*СтатьяИсточник.ПроизвольныйЗапрос*/)
				{
					//ПостроительОтчета.ЗаполнитьНастройки();
				}
				//ПостроительОтчета.УстановитьНастройки(СохраненнаяНастройка.НастройкиПостроителя,Истина,Ложь,Истина,Истина);
			}
			/*// Формируем структуру измерений для запроса
*/
			//СтруктураИзмерений=Новый Структура;
			//СтруктураИзмерений.Вставить("Валюта","Валюта");
			//ПолеПериод=ПостроительОтчета.ДоступныеПоля.Найти("Период");
			if(true/*(Не ПолеПериод=Неопределено) И ПостроительОтчета.ВыбранныеПоля.Найти(ПолеПериод.Имя)=Неопределено*/)
			{
				//ПостроительОтчета.ВыбранныеПоля.Добавить(ПолеПериод.Имя,ПолеПериод.Имя);
				//СтруктураИзмерений.Вставить("Период",ПолеПериод.Имя);
			}
			/*// Убираем валюту из измерений запроса, если она не используется при получении сумм по статье	
*/
			if(true/*(НЕ СтатьяИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных)
		И СтруктураИзмерений.Свойство("Валюта")*/)
			{
				//ПолеВалюта=ПостроительОтчета.ВыбранныеПоля.Найти(СтруктураИзмерений.Валюта);
				if(true/*Не ПолеВалюта=Неопределено*/)
				{
					//ПостроительОтчета.ВыбранныеПоля.Удалить(ПолеВалюта);
				}
			}
			/*/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
*/
			/*// Настраиваем построитель для получения валюты и периодов оборотов для дальнейшего расчета суммы в валюте упр. учета
*/
			//ПостроительОтчетаПериод=Новый ПостроительОтчета;
			//ПостроительОтчетаПериод.Текст=ПостроительОтчета.Текст;
			if(true/*СтатьяИсточник.ПроизвольныйЗапрос*/)
			{
				//ПостроительОтчетаПериод.ЗаполнитьНастройки();
			}
			//ПостроительОтчетаПериод.УстановитьНастройки(СохраненнаяНастройка.НастройкиПостроителя,Истина,Ложь,Истина,Истина);
			//ПостроительОтчетаПериод.ВыбранныеПоля.Очистить();
			if(true/*Не ПолеПериод=Неопределено*/)
			{
				//ПостроительОтчетаПериод.ВыбранныеПоля.Добавить(ПолеПериод.Имя,ПолеПериод.Имя);
			}
			if(true/*СтатьяИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных
		И СтруктураИзмерений.Свойство("Валюта")*/)
			{
				//СтрокаВалюта=ИзмеренияИсточника.Найти(Перечисления.ИзмеренияБюджетирования.Валюта,"ИзмерениеБюджетирования");
				if(true/*Не СтрокаВалюта=Неопределено*/)
				{
					//ПостроительОтчетаПериод.ВыбранныеПоля.Добавить(СтрокаВалюта.ПутьКДанным,СтрокаВалюта.ИмяПоляИсточника);
				}
			}
			/*///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////	
*/
			//РабочийТекст=ПостроительОтчета.ПолучитьЗапрос().Текст;
			//РабочийТекстПериод=ПостроительОтчетаПериод.ПолучитьЗапрос().Текст;
			/*// Определим параметры отбора
*/
			//Индекс=1;
			/*// Формируем текст основного запроса
*/
			/*ТекстЗапросаИсточник="
	|ОБЪЕДИНИТЬ ВСЕ
	|ВЫБРАТЬ
	|&Статья"+КодИсточника+" КАК СтатьяОборотов,";*/
			//СтруктураПараметров.Вставить("Статья"+КодИсточника,СтатьяИсточник.СтатьяОборотов);
			if(true/*СтруктураИзмерений.Свойство("Период")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|Период,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("ЦФО")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.ЦФО+" КАК ЦФО,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Проект")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Проект+" КАК Проект,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Контрагент")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Контрагент+" КАК Контрагент,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Номенклатура")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Номенклатура+" КАК Номенклатура,";*/
			}
			if(true/*СтатьяИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Валюта+" КАК Валюта,";*/
			}
			if(true/*ПустаяСтрока(СтатьяИсточник.ПоказательИсточникаДанныхДляФактаСум)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК Сумма,";*/
			}
			if(true/*ПустаяСтрока(СтатьяИсточник.ПоказательИсточникаДанныхДляФактаКол)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК Количество";*/
			}
			/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
	|ИЗ
	|("+РабочийТекст+") КАК "+КодИсточника;*/
			//ТекстОсновногоЗапроса=ТекстОсновногоЗапроса+ТекстЗапросаИсточник;
			/*// Формируем текст запроса по периодам
*/
			/*ТекстЗапросаИсточникПериод="
	|ОБЪЕДИНИТЬ ВСЕ
	|ВЫБРАТЬ";*/
			if(true/*СтруктураИзмерений.Свойство("Период")*/)
			{
				/*ТекстЗапросаИсточникПериод=ТекстЗапросаИсточникПериод+"
		|Период,";*/
			}
			if(true/*СтатьяИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных*/)
			{
				/*ТекстЗапросаИсточникПериод=ТекстЗапросаИсточникПериод+"
		|"+СтруктураИзмерений.Валюта+" КАК Валюта";*/
			}
			/*ТекстЗапросаИсточникПериод=ТекстЗапросаИсточникПериод+"
	|ИЗ
	|("+РабочийТекстПериод+") КАК "+КодИсточника+"_Период";*/
			//ТекстЗапросаПериод=ТекстЗапросаПериод+ТекстЗапросаИсточникПериод;
		}
		// ДобавитьВТекстОсновногоЗапросаОбороты()

		public object СформироватьТекстЗапросаПоОборотам(/*СтруктураИспользуемыхИзмерений,Сценарий,ДатаНач,ДатаКон,ОтборСтатьи*/)
		{
			/*// Выберем статьи оборотов, для которых будем получать данные
*/
			//Запрос=Новый Запрос;
			//СтруктураПараметров=Новый Структура;
			/*ТекстЗапроса="ВЫБРАТЬ
	|	СтатьиОборотовПоБюджетам.Ссылка КАК СтатьяОборотов,
	|	СтатьиОборотовПоБюджетам.Ссылка.Представление КАК СтатьяОборотовПредставление,
	|	СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ТекстЗапроса КАК ТекстЗапроса,
	|	СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.НастройкиПостроителя КАК НастройкиПостроителя,
	|	СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ИзмеренияИсточника КАК ИзмеренияИсточника,
	|	СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ДатыОтбораДанныхИсточника КАК ДатыОтбораДанныхИсточника,
	|	СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта.ПроизвольныйЗапрос КАК ПроизвольныйЗапрос,
	|	СтатьиОборотовПоБюджетам.ПоказательИсточникаДанныхДляФактаСум,
	|	СтатьиОборотовПоБюджетам.КоэффициентДляФактаСум,
	|	СтатьиОборотовПоБюджетам.СпособОпределенияВалютыОборотаФакт,
	|	СтатьиОборотовПоБюджетам.ПоказательИсточникаДанныхДляФактаКол,
	|	СтатьиОборотовПоБюджетам.КоэффициентДляФактаКол,
	|	СтатьиОборотовПоБюджетам.ОсновнаяВалюта,
	|	СтатьиОборотовПоБюджетам.РазделениеПоКонтрагентам,
	|	СтатьиОборотовПоБюджетам.РазделениеПоНоменклатуре
    |ИЗ
	|	Справочник.СтатьиОборотовПоБюджетам КАК СтатьиОборотовПоБюджетам
	|ГДЕ
	|	СтатьиОборотовПоБюджетам.ИсточникДанныхДляФакта <> &ПустойИсточникДанных";*/
			if(true/*НЕ ОтборСтатьи.Количество()=0*/)
			{
				/*ТекстЗапроса=ТекстЗапроса+"
		|И
		|	СтатьиОборотовПоБюджетам.Ссылка В ИЕРАРХИИ(&СтатьиОборотов)";*/
				//Запрос.УстановитьПараметр("СтатьиОборотов",ОтборСтатьи);
			}
			//Запрос.Текст=ТекстЗапроса;
			//Запрос.УстановитьПараметр("ПустойИсточникДанных",Новый(Тип("СправочникСсылка.ИсточникиДанныхДляРасчетовБюджетирования")));
			//ТекстОсновногоЗапроса="";
			//ТекстЗапросаПериод="";
			//СтруктураПараметров=Новый Структура;
			//НомерСтатьи=0;
			//РезультатЗапроса=Запрос.Выполнить().Выбрать();
			while(true/*РезультатЗапроса.Следующий()*/)
			{
				/*ДобавитьВТекстОсновногоЗапросаОбороты(РезультатЗапроса,ТекстОсновногоЗапроса, ТекстЗапросаПериод,СтруктураПараметров,НомерСтатьи,
					СтруктураИспользуемыхИзмерений,ДатаНач,ДатаКон);*/
				//НомерСтатьи=НомерСтатьи+1;
			}
			/*;
	
	ТекстЗапроса=Сред(ТекстОсновногоЗапроса,16);*/
			//ТекстЗапросаПериод=Сред(ТекстЗапросаПериод,16);
			if(true/*ТекстЗапроса=""*/)
			{
			}
			/*ТекстИтог="ВЫБРАТЬ
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Период КАК Дата) КАК Период,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.СтатьяОборотов КАК Справочник.СтатьиОборотовПоБюджетам) КАК СтатьяОборотов,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты) КАК Валюта,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.ЦФО КАК Справочник.Подразделения) КАК ЦФО,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Проект КАК Справочник.Проекты) КАК Проект,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Контрагент КАК Справочник.Контрагенты) КАК Контрагент,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
	|ЗапросПоИсточникам.Количество КАК КоличествоОборот,
	|ЗапросПоИсточникам.Сумма КАК ВалютнаяСуммаОборот,
	|ВЫБОР 
	|		КОГДА ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)=&ВалютаУпрУчета ТОГДА ЗапросПоИсточникам.Сумма
	|		КОГДА ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)<>&ВалютаУпрУчета И КурсыИсточника.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
	|			ЗапросПоИсточникам.Сумма*КурсыИсточника.Курс * КурсыУпрУчета.Кратность 
	|			/ (КурсыУпрУчета.Курс * КурсыИсточника.Кратность)
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ  КАК СуммаУпрОборот	
	|ИЗ
	|("+ТекстЗапроса+") КАК ЗапросПоИсточникам
	// Курсы источников 
	|ЛЕВОЕ СОЕДИНЕНИЕ
	|(ВЫБРАТЬ 
	|	ПериодПоследнейЗаписиКурсаНаДатуОборота.Дата КАК Дата, 
	|	КурсыВалют.Курс КАК Курс, 
	|	КурсыВалют.Кратность КАК Кратность,
	|	КурсыВалют.Валюта КАК Валюта
	|ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют
	|ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|	ВЫБРАТЬ
	|		Максимум(КурсыВнутр.Период) КАК Период,
	|		Обороты.Дата КАК Дата,
	|		КурсыВнутр.Валюта КАК Валюта
	|	ИЗ РегистрСведений.КурсыВалют КАК КурсыВнутр
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			ЗапросПоПериодам.Период КАК Дата,
	|			ЗапросПоПериодам.Валюта КАК ВалютаДок
	|		ИЗ 
	|		("+ТекстЗапросаПериод+") КАК ЗапросПоПериодам
	|		) КАК Обороты
	|ПО Обороты.Дата >= КурсыВнутр.Период
	|	И КурсыВнутр.Валюта = Обороты.ВалютаДок
	|	СГРУППИРОВАТЬ ПО Обороты.Дата, КурсыВнутр.Валюта) КАК ПериодПоследнейЗаписиКурсаНаДатуОборота
	|	ПО КурсыВалют.Период = ПериодПоследнейЗаписиКурсаНаДатуОборота.Период И 
	|      КурсыВалют.Валюта = ПериодПоследнейЗаписиКурсаНаДатуОборота.Валюта) КАК КурсыИсточника
	|ПО КурсыИсточника.Дата = ЗапросПоИсточникам.Период И
	|   КурсыИсточника.Валюта = ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)
	// Курсы валюты управленческого учета
	|ЛЕВОЕ СОЕДИНЕНИЕ
	|(ВЫБРАТЬ 
	|	ПериодПоследнейЗаписиКурсаНаДатуОборота.Дата КАК Дата, 
	|	КурсыВалют.Курс КАК Курс, 
	|	КурсыВалют.Кратность КАК Кратность
	|ИЗ РегистрСведений.КурсыВалют КАК КурсыВалют
	|ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|	ВЫБРАТЬ
	|		МАКСИМУМ(КурсыВнутр.Период) КАК Период,
	|		Обороты.Дата КАК Дата
	|	ИЗ РегистрСведений.КурсыВалют КАК КурсыВнутр
	|	ВНУТРЕННЕЕ СОЕДИНЕНИЕ (
	|			ВЫБРАТЬ РАЗЛИЧНЫЕ
	|			ЗапросПоПериодам.Период КАК Дата,
	|			ЗапросПоПериодам.Валюта КАК ВалютаДок
	|		ИЗ 
	|		("+ТекстЗапросаПериод+") КАК ЗапросПоПериодам
	|		) КАК Обороты
	|ПО Обороты.Дата >= КурсыВнутр.Период
	|	И (КурсыВнутр.Валюта = &ВалютаУпрУчета)
	|	СГРУППИРОВАТЬ ПО Обороты.Дата) КАК ПериодПоследнейЗаписиКурсаНаДатуОборота
	|	ПО КурсыВалют.Период = ПериодПоследнейЗаписиКурсаНаДатуОборота.Период
	|ГДЕ КурсыВалют.Валюта = &ВалютаУпрУчета) КАК КурсыУпрУчета
	|ПО КурсыУпрУчета.Дата = ЗапросПоИсточникам.Период";*/
			//СтруктураПараметров.Вставить("МоментВремени",ДатаНач);
			//СтруктураПараметров.Вставить("ПустойЦФО",Справочники.Подразделения.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ПустойКонтрагент",Справочники.Контрагенты.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ВалютаУпрУчета",глЗначениеПеременной("ВалютаУправленческогоУчета"));
			//СтруктураПараметров.Вставить("ВалютаРеглУчета",глЗначениеПеременной("ВалютаРегламентированногоУчета"));
			/*СтруктураПараметров.Вставить("ПустойНоменклатура",?(Сценарий.ДетализацияПланирования=Перечисления.ДетализацияПланирования.НоменклатурныеГруппы,
													Справочники.НоменклатурныеГруппы.ПустаяСсылка(),Справочники.Номенклатура.ПустаяСсылка()));*/
			//СтруктураЗапроса=Новый Структура;
			//СтруктураЗапроса.Вставить("ТекстЗапроса",ТекстИтог);
			//СтруктураЗапроса.Вставить("ПараметрыЗапроса",СтруктураПараметров);
			return null;
		}
		// СформироватьТекстЗапросаПоОборотам()
		////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//Остатки по источникам данных

		public object СформироватьТекстЗапросаПоОстаткам(/*СтруктураИспользуемыхИзмерений,Сценарий,ДатаОстатка,ОтборСчета*/)
		{
			/*// Выберем статьи оборотов, для которых будем получать данные
*/
			//Запрос=Новый Запрос;
			//СтруктураПараметров=Новый Структура;
			/*ТекстЗапроса="ВЫБРАТЬ
	|	Бюджетирование.Ссылка КАК Счет,
	|	Бюджетирование.Валютный КАК Валютный,
	|	Бюджетирование.Количественный КАК Количественный,
	|	БюджетированиеВидыСубконто1.ВидСубконто.Наименование КАК НаименованиеСубконто1,
	|	БюджетированиеВидыСубконто2.ВидСубконто.Наименование КАК НаименованиеСубконто2,
	|	БюджетированиеВидыСубконто3.ВидСубконто.Наименование КАК НаименованиеСубконто3,
	|	Бюджетирование.ИсточникДанныхДляФакта.ТекстЗапроса КАК ТекстЗапроса,
	|	Бюджетирование.ИсточникДанныхДляФакта.НастройкиПостроителя КАК НастройкиПостроителя,
	|	Бюджетирование.ИсточникДанныхДляФакта.ПроизвольныйЗапрос КАК ПроизвольныйЗапрос,
	|	Бюджетирование.ПоказательИсточникаДанныхДляФактаСум КАК ПоказательИсточникаДанныхДляФактаСум,
	|	Бюджетирование.КоэффициентДляФактаСум КАК КоэффициентДляФактаСум,
	|	Бюджетирование.СпособОпределенияВалютыОборотаФакт КАК СпособОпределенияВалютыОборотаФакт,
	|	Бюджетирование.ПоказательИсточникаДанныхДляФактаКол КАК ПоказательИсточникаДанныхДляФактаКол,
	|	Бюджетирование.КоэффициентДляФактаКол КАК КоэффициентДляФактаКол,
	|	Бюджетирование.ИсточникДанныхДляФакта.ИзмеренияИсточника КАК ИзмеренияИсточника,
	|	Бюджетирование.ИсточникДанныхДляФакта.ДатыОтбораДанныхИсточника КАК ДатыОтбораДанныхИсточника,
	|	Бюджетирование.Представление
	|ИЗ
	|	ПланСчетов.Бюджетирование КАК Бюджетирование
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Бюджетирование.ВидыСубконто КАК БюджетированиеВидыСубконто1
	|		ПО Бюджетирование.Ссылка = БюджетированиеВидыСубконто1.Ссылка И (БюджетированиеВидыСубконто1.НомерСтроки = 1)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Бюджетирование.ВидыСубконто КАК БюджетированиеВидыСубконто2
	|		ПО Бюджетирование.Ссылка = БюджетированиеВидыСубконто2.Ссылка И (БюджетированиеВидыСубконто2.НомерСтроки = 2)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Бюджетирование.ВидыСубконто КАК БюджетированиеВидыСубконто3
	|		ПО Бюджетирование.Ссылка = БюджетированиеВидыСубконто3.Ссылка И (БюджетированиеВидыСубконто3.НомерСтроки = 3)
	|
	|ГДЕ
	|	НЕ Бюджетирование.ИсточникДанныхДляФакта = &ПустойИсточник";*/
			if(true/*НЕ ОтборСчета.Количество()=0*/)
			{
				/*ТекстЗапроса=ТекстЗапроса+"
		|И
		|	Бюджетирование.Ссылка В ИЕРАРХИИ(&Счета)";*/
				//Запрос.УстановитьПараметр("Счета",ОтборСчета);
			}
			//Запрос.Текст=ТекстЗапроса;
			//Запрос.УстановитьПараметр("ПустойИсточник",Новый(Тип("СправочникСсылка.ИсточникиДанныхДляРасчетовБюджетирования")));
			//ТекстОсновногоЗапроса="";
			//СтруктураПараметров=Новый Структура;
			//НомерСчета=0;
			//РезультатЗапроса=Запрос.Выполнить().Выбрать();
			while(true/*РезультатЗапроса.Следующий()*/)
			{
				/*ДобавитьВТекстОсновногоЗапросаОстатки(РезультатЗапроса,ТекстОсновногоЗапроса,СтруктураПараметров,НомерСчета,
					СтруктураИспользуемыхИзмерений,ДатаОстатка);*/
				//НомерСчета=НомерСчета+1;
			}
			/*;
	
	ТекстЗапроса=Сред(ТекстОсновногоЗапроса,16);*/
			if(true/*ТекстЗапроса=""*/)
			{
			}
			/*ТекстИтог="ВЫБРАТЬ
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Счет КАК ПланСчетов.Бюджетирование) КАК Счет,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты) КАК Валюта,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.ЦФО КАК Справочник.Подразделения) КАК ЦФО,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Проект КАК Справочник.Проекты) КАК Проект,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Контрагент КАК Справочник.Контрагенты) КАК Контрагент,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам.Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
	|ЗапросПоИсточникам.Количество КАК КоличествоОстаток,
	|ЗапросПоИсточникам.Сумма КАК ВалютнаяСуммаОстаток,
	|ВЫБОР 
	|		КОГДА ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)=&ВалютаУпрУчета ТОГДА ЗапросПоИсточникам.Сумма
	|		КОГДА ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)<>&ВалютаУпрУчета И КурсыИсточника.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
	|			ЗапросПоИсточникам.Сумма*КурсыИсточника.Курс * КурсыУпрУчета.Кратность 
	|			/ (КурсыУпрУчета.Курс * КурсыИсточника.Кратность)
	|		ИНАЧЕ
	|			0
	|		КОНЕЦ  КАК СуммаУпрОстаток	
	|ИЗ
	|("+ТекстЗапроса+") КАК ЗапросПоИсточникам
	// Курсы источников 
	|	ЛЕВОЕ СОЕДИНЕНИЕ 
	|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОстатка, Валюта=&ВалютаУпрУчета) КАК КурсыУпрУчета
	|	ПО ИСТИНА
	|	ЛЕВОЕ СОЕДИНЕНИЕ
	|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаОстатка) КАК КурсыИсточника
	|	ПО ВЫРАЗИТЬ(ЗапросПоИсточникам.Валюта КАК Справочник.Валюты)=КурсыИсточника.Валюта";*/
			//СтруктураПараметров.Вставить("МоментВремени",ДатаОстатка);
			//СтруктураПараметров.Вставить("ДатаОстатка",ДатаОстатка);
			//СтруктураПараметров.Вставить("ПустойЦФО",Справочники.Подразделения.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ПустойКонтрагент",Справочники.Контрагенты.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ВалютаУпрУчета",глЗначениеПеременной("ВалютаУправленческогоУчета"));
			//СтруктураПараметров.Вставить("ВалютаРеглУчета",глЗначениеПеременной("ВалютаРегламентированногоУчета"));
			/*СтруктураПараметров.Вставить("ПустойНоменклатура",?(Сценарий.ДетализацияПланирования=Перечисления.ДетализацияПланирования.НоменклатурныеГруппы,
													Справочники.НоменклатурныеГруппы.ПустаяСсылка(),Справочники.Номенклатура.ПустаяСсылка()));*/
			//СтруктураЗапроса=Новый Структура;
			//СтруктураЗапроса.Вставить("ТекстЗапроса",ТекстИтог);
			//СтруктураЗапроса.Вставить("ПараметрыЗапроса",СтруктураПараметров);
			return null;
		}
		// СформироватьТекстЗапросаПоОстаткам()

		public object СформироватьТекстЗапросаПоОстаткамПериод(/*СтруктураИспользуемыхИзмерений,Сценарий,ДатаНач,ДатаКон,Периодичность,ОтборСчета,Префикс=""*/)
		{
			/*// Выберем статьи оборотов, для которых будем получать данные
*/
			//Запрос=Новый Запрос;
			//СтруктураПараметров=Новый Структура;
			/*ТекстЗапроса="ВЫБРАТЬ
	|	Бюджетирование.Ссылка КАК Счет,
	|	Бюджетирование.Валютный КАК Валютный,
	|	Бюджетирование.Вид КАК ВидСчета,
	|	Бюджетирование.Количественный КАК Количественный,
	|	БюджетированиеВидыСубконто1.ВидСубконто.Наименование КАК НаименованиеСубконто1,
	|	БюджетированиеВидыСубконто2.ВидСубконто.Наименование КАК НаименованиеСубконто2,
	|	БюджетированиеВидыСубконто3.ВидСубконто.Наименование КАК НаименованиеСубконто3,
	|	Бюджетирование.ИсточникДанныхДляФакта.ТекстЗапроса КАК ТекстЗапроса,
	|	Бюджетирование.ИсточникДанныхДляФакта.НастройкиПостроителя КАК НастройкиПостроителя,
	|	Бюджетирование.ИсточникДанныхДляФакта.ПроизвольныйЗапрос КАК ПроизвольныйЗапрос,
	|	Бюджетирование.ПоказательИсточникаДанныхДляФактаСум КАК ПоказательИсточникаДанныхДляФактаСум,
	|	Бюджетирование.КоэффициентДляФактаСум КАК КоэффициентДляФактаСум,
	|	Бюджетирование.СпособОпределенияВалютыОборотаФакт КАК СпособОпределенияВалютыОборотаФакт,
	|	Бюджетирование.ПоказательИсточникаДанныхДляФактаКол КАК ПоказательИсточникаДанныхДляФактаКол,
	|	Бюджетирование.КоэффициентДляФактаКол КАК КоэффициентДляФактаКол,
	|	Бюджетирование.ИсточникДанныхДляФакта.ИзмеренияИсточника КАК ИзмеренияИсточника,
	|	Бюджетирование.ИсточникДанныхДляФакта.ДатыОтбораДанныхИсточника КАК ДатыОтбораДанныхИсточника,
	|	Бюджетирование.Представление
	|ИЗ
	|	ПланСчетов.Бюджетирование КАК Бюджетирование
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Бюджетирование.ВидыСубконто КАК БюджетированиеВидыСубконто1
	|		ПО Бюджетирование.Ссылка = БюджетированиеВидыСубконто1.Ссылка И (БюджетированиеВидыСубконто1.НомерСтроки = 1)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Бюджетирование.ВидыСубконто КАК БюджетированиеВидыСубконто2
	|		ПО Бюджетирование.Ссылка = БюджетированиеВидыСубконто2.Ссылка И (БюджетированиеВидыСубконто2.НомерСтроки = 2)
	|		ЛЕВОЕ СОЕДИНЕНИЕ ПланСчетов.Бюджетирование.ВидыСубконто КАК БюджетированиеВидыСубконто3
	|		ПО Бюджетирование.Ссылка = БюджетированиеВидыСубконто3.Ссылка И (БюджетированиеВидыСубконто3.НомерСтроки = 3)
	|
	|ГДЕ
	|	НЕ Бюджетирование.ИсточникДанныхДляФакта = &ПустойИсточник";*/
			if(true/*НЕ ОтборСчета.Количество()=0*/)
			{
				/*ТекстЗапроса=ТекстЗапроса+"
		|И
		|	Бюджетирование.Ссылка В ИЕРАРХИИ(&Счета)";*/
				//Запрос.УстановитьПараметр("Счета",ОтборСчета);
			}
			//Запрос.Текст=ТекстЗапроса;
			//Запрос.УстановитьПараметр("ПустойИсточник",Новый(Тип("СправочникСсылка.ИсточникиДанныхДляРасчетовБюджетирования")));
			//ТекстОсновногоЗапроса="";
			//СтруктураПараметров=Новый Структура;
			//НомерСчета=0;
			//РезультатЗапроса=Запрос.Выполнить().Выбрать();
			while(true/*РезультатЗапроса.Следующий()*/)
			{
				/*ДобавитьВТекстОсновногоЗапросаОстаткиПериод(РезультатЗапроса,ТекстОсновногоЗапроса,СтруктураПараметров,НомерСчета,
					СтруктураИспользуемыхИзмерений,ДатаНач,ДатаКон,Периодичность,Префикс);*/
				//НомерСчета=НомерСчета+1;
			}
			/*;
	
	ТекстЗапроса=Сред(ТекстОсновногоЗапроса,16);*/
			if(true/*ТекстЗапроса=""*/)
			{
			}
			/*ТекстИтог="ВЫБРАТЬ
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Счет КАК ПланСчетов.Бюджетирование) КАК Счет,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Период КАК Дата) КАК Период,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Валюта КАК Справочник.Валюты) КАК Валюта,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".ЦФО КАК Справочник.Подразделения) КАК ЦФО,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Проект КАК Справочник.Проекты) КАК Проект,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Контрагент КАК Справочник.Контрагенты) КАК Контрагент,
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Номенклатура КАК Справочник.Номенклатура) КАК Номенклатура,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоНачальныйОстатокДт) КАК КоличествоНачальныйОстатокДт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоНачальныйОстатокКт) КАК КоличествоНачальныйОстатокКт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоКонечныйОстатокДт) КАК КоличествоКонечныйОстатокДт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоКонечныйОстатокКт) КАК КоличествоКонечныйОстатокКт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаНачальныйОстатокДт) КАК ВалютнаяСуммаНачальныйОстатокДт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаНачальныйОстатокКт) КАК ВалютнаяСуммаНачальныйОстатокКт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаКонечныйОстатокДт) КАК ВалютнаяСуммаКонечныйОстатокДт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаКонечныйОстатокКт) КАК ВалютнаяСуммаКонечныйОстатокКт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрНачальныйОстатокДт) КАК СуммаУпрНачальныйОстатокДт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрНачальныйОстатокКт) КАК СуммаУпрНачальныйОстатокКт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрКонечныйОстатокДт) КАК СуммаУпрКонечныйОстатокДт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрКонечныйОстатокКт) КАК СуммаУпрКонечныйОстатокКт,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоНачальныйОстатокДтИтог) КАК КоличествоНачальныйОстатокДтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоНачальныйОстатокКтИтог) КАК КоличествоНачальныйОстатокКтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоКонечныйОстатокДтИтог) КАК КоличествоКонечныйОстатокДтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".КоличествоКонечныйОстатокКтИтог) КАК КоличествоКонечныйОстатокКтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаНачальныйОстатокДтИтог) КАК ВалютнаяСуммаНачальныйОстатокДтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаНачальныйОстатокКтИтог) КАК ВалютнаяСуммаНачальныйОстатокКтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаКонечныйОстатокДтИтог) КАК ВалютнаяСуммаКонечныйОстатокДтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".ВалютнаяСуммаКонечныйОстатокКтИтог) КАК ВалютнаяСуммаКонечныйОстатокКтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрНачальныйОстатокДтИтог) КАК СуммаУпрНачальныйОстатокДтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрНачальныйОстатокКтИтог) КАК СуммаУпрНачальныйОстатокКтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрКонечныйОстатокДтИтог) КАК СуммаУпрКонечныйОстатокДтИтог,
	|СУММА(ЗапросПоИсточникам"+Префикс+".СуммаУпрКонечныйОстатокКтИтог) КАК СуммаУпрКонечныйОстатокКтИтог
	|ИЗ
	|("+ТекстЗапроса+") КАК ЗапросПоИсточникам"+Префикс+" 
	|СГРУППИРОВАТЬ ПО 
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Счет КАК ПланСчетов.Бюджетирование),
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Период КАК Дата),
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Валюта КАК Справочник.Валюты),
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".ЦФО КАК Справочник.Подразделения),
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Проект КАК Справочник.Проекты),
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Контрагент КАК Справочник.Контрагенты),
	|ВЫРАЗИТЬ(ЗапросПоИсточникам"+Префикс+".Номенклатура КАК Справочник.Номенклатура)";*/
			//СтруктураПараметров.Вставить("ПустойЦФО",Справочники.Подразделения.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ПустойПроект",Справочники.Проекты.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ПустойКонтрагент",Справочники.Контрагенты.ПустаяСсылка());
			//СтруктураПараметров.Вставить("ВалютаУпрУчета",глЗначениеПеременной("ВалютаУправленческогоУчета"));
			//СтруктураПараметров.Вставить("ВалютаРеглУчета",глЗначениеПеременной("ВалютаРегламентированногоУчета"));
			/*СтруктураПараметров.Вставить("ПустойНоменклатура",?(Сценарий.ДетализацияПланирования=Перечисления.ДетализацияПланирования.НоменклатурныеГруппы,
													Справочники.НоменклатурныеГруппы.ПустаяСсылка(),Справочники.Номенклатура.ПустаяСсылка()));*/
			//СтруктураЗапроса=Новый Структура;
			//СтруктураЗапроса.Вставить("ТекстЗапроса",ТекстИтог);
			//СтруктураЗапроса.Вставить("ПараметрыЗапроса",СтруктураПараметров);
			return null;
		}
		// СформироватьТекстЗапросаПоОстаткамПериод()

		public void ДобавитьВТекстОсновногоЗапросаОстатки(/*СчетИсточник,ТекстОсновногоЗапроса,СтруктураПараметров,НомерСчета, 
								СтруктураИспользуемыхИзмерений,ДатаОстатка*/)
		{
			//ПостроительОтчета=Новый ПостроительОтчета;
			/*// Основной построитель отчета
*/
			//ТекстЗапроса=СчетИсточник.ТекстЗапроса;
			//СохраненнаяНастройка=СчетИсточник.НастройкиПостроителя.Получить();
			//ИзмеренияИсточника=СчетИсточник.ИзмеренияИсточника.Выгрузить();
			//ДатыОтбораДанныхИсточника=СчетИсточник.ДатыОтбораДанныхИсточника.Выгрузить();
			//КодИсточника="Счет_"+НомерСчета;
			if(true/*ТипЗнч(СохраненнаяНастройка.НастройкиПостроителя)=Тип("НастройкиПостроителяОтчета")*/)
			{
				//ПостроительОтчета.Текст=ТекстЗапроса;
				if(true/*СчетИсточник.ПроизвольныйЗапрос*/)
				{
					//ПостроительОтчета.ЗаполнитьНастройки();
				}
				//ПостроительОтчета.УстановитьНастройки(СохраненнаяНастройка.НастройкиПостроителя,Истина,Ложь,Истина,Истина);
			}
			/*// Формируем структуру измерений для запроса
*/
			//СтруктураИзмерений=Новый Структура;
			/*//Сформируем структуру, являющуюся пересечением структуры измерений общего запроса и используемых для счета субконто.
*/
			//СтруктураСубконтоИзмерения=Новый Структура;
			//СтруктураСубконтоИзмерения.Вставить("Контрагенты","Контрагент");
			//СтруктураСубконтоИзмерения.Вставить("Номенклатура","Номенклатура");
			//СтруктураСубконтоИзмерения.Вставить("Проекты","Проект");
			//СтруктураСубконтоИзмерения.Вставить("СтатьиОборотов","СтатьяОборотов");
			//СтруктураСубконтоИзмерения.Вставить("ЦФО","ЦФО");
			//СтруктураИспользуемыхСубконто=Новый Структура;
			if(true/*(НЕ СчетИсточник.НаименованиеСубконто1=NULL) И СтруктураИспользуемыхИзмерений.Свойство(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто1])*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто1]);
			}
			if(true/*(НЕ СчетИсточник.НаименованиеСубконто2=NULL) И СтруктураИспользуемыхИзмерений.Свойство(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто2])*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто2]);
			}
			if(true/*(НЕ СчетИсточник.НаименованиеСубконто3=NULL) И СтруктураИспользуемыхИзмерений.Свойство(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто3])*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто3]);
			}
			if(true/*СчетИсточник.Валютный*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить("Валюта");
			}
			/*// Убираем валюту из измерений запроса, если она не используется при получении сумм по статье	
*/
			if(true/*(НЕ (СчетИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных И СчетИсточник.Валютный))
		И СтруктураИзмерений.Свойство("Валюта")*/)
			{
				//ПолеВалюта=ПостроительОтчета.ВыбранныеПоля.Найти(СтруктураИзмерений.Валюта);
				if(true/*Не ПолеВалюта=Неопределено*/)
				{
					//ПостроительОтчета.ВыбранныеПоля.Удалить(ПолеВалюта);
				}
			}
			//РабочийТекст=ПостроительОтчета.ПолучитьЗапрос().Текст;
			/*// Определим параметры отбора
*/
			//Индекс=1;
			/*// Формируем текст основного запроса
*/
			/*ТекстЗапросаИсточник="
	|ОБЪЕДИНИТЬ ВСЕ
	|ВЫБРАТЬ
	|&Счет"+КодИсточника+" КАК Счет,";*/
			//СтруктураПараметров.Вставить("Счет"+КодИсточника,СчетИсточник.Счет);
			if(true/*СтруктураИзмерений.Свойство("ЦФО")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.ЦФО+" КАК ЦФО,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Проект")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Проект+" КАК Проект,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Контрагент")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Контрагент+" КАК Контрагент,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Номенклатура")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Номенклатура+" КАК Номенклатура,";*/
			}
			if(true/*СчетИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Валюта+" КАК Валюта,";*/
			}
			if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаСум)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК Сумма,";*/
			}
			if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаКол)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК Количество";*/
			}
			/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
	|ИЗ
	|("+РабочийТекст+") КАК "+КодИсточника;*/
			//ТекстОсновногоЗапроса=ТекстОсновногоЗапроса+ТекстЗапросаИсточник;
		}
		// ДобавитьВТекстОсновногоЗапросаОстатки()
		/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
		//

		public void ДобавитьВТекстОсновногоЗапросаОстаткиПериод(/*СчетИсточник,ТекстОсновногоЗапроса,СтруктураПараметров,НомерСчета, 
								СтруктураИспользуемыхИзмерений,ДатаНач,ДатаКон,Периодичность,Префикс*/)
		{
			//ПостроительОтчета=Новый ПостроительОтчета;
			/*// Основной построитель отчета
*/
			//ТекстЗапроса=СчетИсточник.ТекстЗапроса;
			//СохраненнаяНастройка=СчетИсточник.НастройкиПостроителя.Получить();
			//ИзмеренияИсточника=СчетИсточник.ИзмеренияИсточника.Выгрузить();
			//ДатыОтбораДанныхИсточника=СчетИсточник.ДатыОтбораДанныхИсточника.Выгрузить();
			//КодИсточника="Счет_"+НомерСчета+Префикс;
			if(true/*ТипЗнч(СохраненнаяНастройка.НастройкиПостроителя)=Тип("НастройкиПостроителяОтчета")*/)
			{
				//ПостроительОтчета.Текст=ТекстЗапроса;
				if(true/*СчетИсточник.ПроизвольныйЗапрос*/)
				{
					//ПостроительОтчета.ЗаполнитьНастройки();
				}
				//ПостроительОтчета.УстановитьНастройки(СохраненнаяНастройка.НастройкиПостроителя,Истина,Ложь,Истина,Истина);
			}
			/*// Формируем структуру измерений для запроса
*/
			//СтруктураИзмерений=Новый Структура;
			/*//Сформируем структуру, являющуюся пересечением структуры измерений общего запроса и используемых для счета субконто.
*/
			//СтруктураСубконтоИзмерения=Новый Структура;
			//СтруктураСубконтоИзмерения.Вставить("Контрагенты","Контрагент");
			//СтруктураСубконтоИзмерения.Вставить("Номенклатура","Номенклатура");
			//СтруктураСубконтоИзмерения.Вставить("Проекты","Проект");
			//СтруктураСубконтоИзмерения.Вставить("СтатьиОборотов","СтатьяОборотов");
			//СтруктураСубконтоИзмерения.Вставить("ЦФО","ЦФО");
			//СтруктураИспользуемыхСубконто=Новый Структура;
			if(true/*(НЕ СчетИсточник.НаименованиеСубконто1=NULL) И СтруктураИспользуемыхИзмерений.Свойство(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто1])*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто1]);
			}
			if(true/*(НЕ СчетИсточник.НаименованиеСубконто2=NULL) И СтруктураИспользуемыхИзмерений.Свойство(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто2])*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто2]);
			}
			if(true/*(НЕ СчетИсточник.НаименованиеСубконто3=NULL) И СтруктураИспользуемыхИзмерений.Свойство(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто3])*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить(СтруктураСубконтоИзмерения[СчетИсточник.НаименованиеСубконто3]);
			}
			if(true/*СчетИсточник.Валютный*/)
			{
				//СтруктураИспользуемыхСубконто.Вставить("Валюта");
			}
			/*// Убираем валюту из измерений запроса, если она не используется при получении сумм по статье	
*/
			if(true/*(НЕ (СчетИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных И СчетИсточник.Валютный))
		И СтруктураИзмерений.Свойство("Валюта")*/)
			{
				//ПолеВалюта=ПостроительОтчета.ВыбранныеПоля.Найти(СтруктураИзмерений.Валюта);
				if(true/*Не ПолеВалюта=Неопределено*/)
				{
					//ПостроительОтчета.ВыбранныеПоля.Удалить(ПолеВалюта);
				}
			}
			//РабочийТекст=ПостроительОтчета.ПолучитьЗапрос().Текст;
			/*// Определим параметры отбора
*/
			//Индекс=1;
			if(true/*Не Периодичность=Перечисления.Периодичность.ПустаяСсылка()*/)
			{
				/*// Получаем текст запроса для получения остатков на начало и конец каждого периода
*/
				//ДатаОстатка=ДатаНач;
				//НомерПериода=1;
				/*// Формируем текст основного запроса	
*/
				while(true/*ДатаОстатка<=ДатаКон*/)
				{
					//РабочийТекстПериодНач=СтрЗаменить(РабочийТекст,"&ДатаИсточникаQQQ","&ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Нач");
					//РабочийТекстПериодКон=СтрЗаменить(РабочийТекст,"&ДатаИсточникаQQQ","&ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Кон");
					//СтруктураПараметров.Вставить("ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Нач",НачалоДня(ДатаОстатка));
					//СтруктураПараметров.Вставить("ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Кон",ОбщегоНазначения.ДатаКонцаПериода(ДатаОстатка,Периодичность));
					/*ТекстЗапросаИсточник="
			|ОБЪЕДИНИТЬ ВСЕ
			|ВЫБРАТЬ
			|&Счет"+КодИсточника+" КАК Счет,
			|&ДатаОстатка"+КодИсточника+"_"+НомерПериода+" КАК Период,";*/
					//СтруктураПараметров.Вставить("Счет"+КодИсточника,СчетИсточник.Счет);
					//СтруктураПараметров.Вставить("ДатаОстатка"+КодИсточника+"_"+НомерПериода,НачалоДня(ДатаОстатка));
					if(true/*СтруктураИзмерений.Свойство("ЦФО")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.ЦФО+" КАК ЦФО,";*/
					}
					if(true/*СтруктураИзмерений.Свойство("Проект")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Проект+" КАК Проект,";*/
					}
					if(true/*СтруктураИзмерений.Свойство("Контрагент")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Контрагент+" КАК Контрагент,";*/
					}
					if(true/*СтруктураИзмерений.Свойство("Номенклатура")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Номенклатура+" КАК Номенклатура,";*/
					}
					if(true/*СчетИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Валюта+" КАК Валюта,";*/
						/*ТекстСуммаУпр="
				|ВЫБОР
				|		КОГДА КурсыИсточника.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
				|			"+СчетИсточник.ПоказательИсточникаДанныхДляФактаСум+"*&КоэффициентДляФактаСум_"+КодИсточника+"*КурсыИсточника.Курс * КурсыУпрУчета.Кратность 
				|			/ (КурсыУпрУчета.Курс * КурсыИсточника.Кратность)
				|		ИНАЧЕ
				|			0
				|		КОНЕЦ  КАК СуммаУпрОстаток";*/
						/*ТекстСоединения="
				|	ЛЕВОЕ СОЕДИНЕНИЕ 
				|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Нач, Валюта=&ВалютаУпрУчета) КАК КурсыУпрУчета
				|	ПО ИСТИНА
				|	ЛЕВОЕ СОЕДИНЕНИЕ
				|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Нач) КАК КурсыИсточника
				|	ПО "+КодИсточника+"Нач."+СтруктураИзмерений.Валюта+"=КурсыИсточника.Валюта";*/
					}
					if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаСум)*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|0 КАК ВалютнаяСуммаНачальныйОстатокДт,
				|0 КАК ВалютнаяСуммаНачальныйОстатокКт,
				|0 КАК ВалютнаяСуммаКонечныйОстатокДт,
				|0 КАК ВалютнаяСуммаКонечныйОстатокКт,";*/
					}
					if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаКол)*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|0 КАК КоличествоНачальныйОстатокДт,
				|0 КАК КоличествоНачальныйОстатокКт,
				|0 КАК КоличествоКонечныйОстатокДт,
				|0 КАК КоличествоКонечныйОстатокКт,";*/
					}
					/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
			|0 КАК ВалютнаяСуммаНачальныйОстатокДтИтог,
			|0 КАК ВалютнаяСуммаНачальныйОстатокКтИтог,
			|0 КАК ВалютнаяСуммаКонечныйОстатокДтИтог,
			|0 КАК ВалютнаяСуммаКонечныйОстатокКтИтог,
			|0 КАК СуммаУпрНачальныйОстатокДтИтог,
			|0 КАК СуммаУпрНачальныйОстатокКтИтог,
			|0 КАК СуммаУпрКонечныйОстатокДтИтог,
			|0 КАК СуммаУпрКонечныйОстатокКтИтог,
			|0 КАК КоличествоНачальныйОстатокДтИтог,
			|0 КАК КоличествоНачальныйОстатокКтИтог,
			|0 КАК КоличествоКонечныйОстатокДтИтог,
			|0 КАК КоличествоКонечныйОстатокКтИтог";*/
					/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
			|ИЗ
			|("+РабочийТекстПериодНач+") КАК "+КодИсточника+"Нач"+ТекстСоединения;*/
					/*//Остатки на конец периода
*/
					/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
			|ОБЪЕДИНИТЬ ВСЕ
			|ВЫБРАТЬ
			|&Счет"+КодИсточника+" КАК Счет,
			|&ДатаОстатка"+КодИсточника+"_"+НомерПериода+" КАК Период,";*/
					//СтруктураПараметров.Вставить("Счет"+КодИсточника,СчетИсточник.Счет);
					if(true/*СтруктураИзмерений.Свойство("ЦФО")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.ЦФО+" КАК ЦФО,";*/
					}
					if(true/*СтруктураИзмерений.Свойство("Проект")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Проект+" КАК Проект,";*/
					}
					if(true/*СтруктураИзмерений.Свойство("Контрагент")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Контрагент+" КАК Контрагент,";*/
					}
					if(true/*СтруктураИзмерений.Свойство("Номенклатура")*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Номенклатура+" КАК Номенклатура,";*/
					}
					if(true/*СчетИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|"+СтруктураИзмерений.Валюта+" КАК Валюта,";*/
						/*ТекстСуммаУпр="
				|ВЫБОР
				|		КОГДА КурсыИсточника.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
				|			"+СчетИсточник.ПоказательИсточникаДанныхДляФактаСум+"*&КоэффициентДляФактаСум_"+КодИсточника+"*КурсыИсточника.Курс * КурсыУпрУчета.Кратность 
				|			/ (КурсыУпрУчета.Курс * КурсыИсточника.Кратность)
				|		ИНАЧЕ
				|			0
				|		КОНЕЦ  КАК СуммаУпрОстаток";*/
						/*ТекстСоединения="
				|	ЛЕВОЕ СОЕДИНЕНИЕ 
				|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Кон, Валюта=&ВалютаУпрУчета) КАК КурсыУпрУчета
				|	ПО ИСТИНА
				|	ЛЕВОЕ СОЕДИНЕНИЕ
				|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+НомерПериода+"_"+"Кон) КАК КурсыИсточника
				|	ПО "+КодИсточника+"Кон."+СтруктураИзмерений.Валюта+"=КурсыИсточника.Валюта";*/
					}
					if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаСум)*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|0 КАК ВалютнаяСуммаНачальныйОстатокДт,
				|0 КАК ВалютнаяСуммаНачальныйОстатокКт,
				|0 КАК ВалютнаяСуммаКонечныйОстатокДт,
				|0 КАК ВалютнаяСуммаКонечныйОстатокКт,";*/
					}
					if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаКол)*/)
					{
						/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
				|0 КАК КоличествоНачальныйОстатокДт,
				|0 КАК КоличествоНачальныйОстатокКт,
				|0 КАК КоличествоКонечныйОстатокДт,
				|0 КАК КоличествоКонечныйОстатокКт,";*/
					}
					/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
			|0 КАК ВалютнаяСуммаНачальныйОстатокДтИтог,
			|0 КАК ВалютнаяСуммаНачальныйОстатокКтИтог,
			|0 КАК ВалютнаяСуммаКонечныйОстатокДтИтог,
			|0 КАК ВалютнаяСуммаКонечныйОстатокКтИтог,
			|0 КАК СуммаУпрНачальныйОстатокДтИтог,
			|0 КАК СуммаУпрНачальныйОстатокКтИтог,
			|0 КАК СуммаУпрКонечныйОстатокДтИтог,
			|0 КАК СуммаУпрКонечныйОстатокКтИтог,
			|0 КАК КоличествоНачальныйОстатокДтИтог,
			|0 КАК КоличествоНачальныйОстатокКтИтог,
			|0 КАК КоличествоКонечныйОстатокДтИтог,
			|0 КАК КоличествоКонечныйОстатокКтИтог";*/
					/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
			|ИЗ
			|("+РабочийТекстПериодКон+") КАК "+КодИсточника+"Кон"+ТекстСоединения;*/
					//ТекстОсновногоЗапроса=ТекстОсновногоЗапроса+ТекстЗапросаИсточник;
					//ДатаОстатка=ОбщегоНазначения.ДобавитьИнтервал(ДатаОстатка,Периодичность,1);
					//НомерПериода=НомерПериода+1;
				}
				//;;
			}
			/*//Формируем запрос по итогам на границы периода
*/
			//РабочийТекстПериодНач=СтрЗаменить(РабочийТекст,"&ДатаИсточникаQQQ","&ДатаИсточника_"+"_"+КодИсточника+"_"+"Нач");
			//РабочийТекстПериодКон=СтрЗаменить(РабочийТекст,"&ДатаИсточникаQQQ","&ДатаИсточника_"+"_"+КодИсточника+"_"+"Кон");
			//СтруктураПараметров.Вставить("ДатаИсточника_"+"_"+КодИсточника+"_"+"Нач",НачалоДня(ДатаНач));
			//СтруктураПараметров.Вставить("ДатаИсточника_"+"_"+КодИсточника+"_"+"Кон",КонецДня(ДатаКон));
			/*ТекстЗапросаИсточник="
	|ОБЪЕДИНИТЬ ВСЕ
	|ВЫБРАТЬ
	|&Счет"+КодИсточника+" КАК Счет,
	|&ДатаОстатка"+КодИсточника+" КАК Период,";*/
			//СтруктураПараметров.Вставить("Счет"+КодИсточника,СчетИсточник.Счет);
			//СтруктураПараметров.Вставить("ДатаОстатка"+КодИсточника,НачалоДня(ДатаНач));
			if(true/*СтруктураИзмерений.Свойство("ЦФО")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.ЦФО+" КАК ЦФО,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Проект")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Проект+" КАК Проект,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Контрагент")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Контрагент+" КАК Контрагент,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Номенклатура")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Номенклатура+" КАК Номенклатура,";*/
			}
			if(true/*СчетИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Валюта+" КАК Валюта,";*/
				/*ТекстСуммаУпр="
		|ВЫБОР
		|		КОГДА КурсыИсточника.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
		|			"+СчетИсточник.ПоказательИсточникаДанныхДляФактаСум+"*&КоэффициентДляФактаСум_"+КодИсточника+"*КурсыИсточника.Курс * КурсыУпрУчета.Кратность 
		|			/ (КурсыУпрУчета.Курс * КурсыИсточника.Кратность)
		|		ИНАЧЕ
		|			0
		|		КОНЕЦ  КАК СуммаУпрОстаток";*/
				/*ТекстСоединения="
		|	ЛЕВОЕ СОЕДИНЕНИЕ 
		|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+"Нач, Валюта=&ВалютаУпрУчета) КАК КурсыУпрУчета
		|	ПО ИСТИНА
		|	ЛЕВОЕ СОЕДИНЕНИЕ
		|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+"Нач) КАК КурсыИсточника
		|	ПО "+КодИсточника+"Нач."+СтруктураИзмерений.Валюта+"=КурсыИсточника.Валюта";*/
			}
			/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
	|0 КАК ВалютнаяСуммаНачальныйОстатокДт,
	|0 КАК ВалютнаяСуммаНачальныйОстатокКт,
	|0 КАК ВалютнаяСуммаКонечныйОстатокДт,
	|0 КАК ВалютнаяСуммаКонечныйОстатокКт,
	|0 КАК СуммаУпрНачальныйОстатокДт,
	|0 КАК СуммаУпрНачальныйОстатокКт,
	|0 КАК СуммаУпрКонечныйОстатокДт,
	|0 КАК СуммаУпрКонечныйОстатокКт,
	|0 КАК КоличествоНачальныйОстатокДт,
	|0 КАК КоличествоНачальныйОстатокКт,
	|0 КАК КоличествоКонечныйОстатокДт,
	|0 КАК КоличествоКонечныйОстатокКт,";*/
			if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаСум)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК ВалютнаяСуммаНачальныйОстатокДтИтог,
		|0 КАК ВалютнаяСуммаНачальныйОстатокКтИтог,
		|0 КАК ВалютнаяСуммаКонечныйОстатокДтИтог,
		|0 КАК ВалютнаяСуммаКонечныйОстатокКтИтог,";*/
			}
			if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаКол)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК КоличествоНачальныйОстатокДтИтог,
		|0 КАК КоличествоНачальныйОстатокКтИтог,
		|0 КАК КоличествоКонечныйОстатокДтИтог,
		|0 КАК КоличествоКонечныйОстатокКтИтог";*/
			}
			/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
	|ИЗ
	|("+РабочийТекстПериодНач+") КАК "+КодИсточника+"Нач"+ТекстСоединения;*/
			/*//Остатки на конец периода
*/
			/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
	|ОБЪЕДИНИТЬ ВСЕ
	|ВЫБРАТЬ
	|&Счет"+КодИсточника+" КАК Счет,
	|&ДатаОстатка"+КодИсточника+" КАК Период,";*/
			//СтруктураПараметров.Вставить("Счет"+КодИсточника,СчетИсточник.Счет);
			if(true/*СтруктураИзмерений.Свойство("ЦФО")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.ЦФО+" КАК ЦФО,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Проект")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Проект+" КАК Проект,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Контрагент")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Контрагент+" КАК Контрагент,";*/
			}
			if(true/*СтруктураИзмерений.Свойство("Номенклатура")*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Номенклатура+" КАК Номенклатура,";*/
			}
			if(true/*СчетИсточник.СпособОпределенияВалютыОборотаФакт=Перечисления.СпособыОпределенияВалютыОборотаПоСтатье.ВалютаИсточникаДанных*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|"+СтруктураИзмерений.Валюта+" КАК Валюта,";*/
				/*ТекстСуммаУпр="
		|ВЫБОР
		|		КОГДА КурсыИсточника.Курс <>0 И КурсыУпрУчета.Курс <>0 ТОГДА
		|			"+СчетИсточник.ПоказательИсточникаДанныхДляФактаСум+"*&КоэффициентДляФактаСум_"+КодИсточника+"*КурсыИсточника.Курс * КурсыУпрУчета.Кратность 
		|			/ (КурсыУпрУчета.Курс * КурсыИсточника.Кратность)
		|		ИНАЧЕ
		|			0
		|		КОНЕЦ  КАК СуммаУпрОстаток";*/
				/*ТекстСоединения="
		|	ЛЕВОЕ СОЕДИНЕНИЕ 
		|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+"Кон, Валюта=&ВалютаУпрУчета) КАК КурсыУпрУчета
		|	ПО ИСТИНА
		|	ЛЕВОЕ СОЕДИНЕНИЕ
		|	РегистрСведений.КурсыВалют.СрезПоследних(&ДатаИсточника_"+"_"+КодИсточника+"_"+"Кон) КАК КурсыИсточника
		|	ПО "+КодИсточника+"Кон."+СтруктураИзмерений.Валюта+"=КурсыИсточника.Валюта";*/
			}
			/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
	|0 КАК ВалютнаяСуммаНачальныйОстатокДт,
	|0 КАК ВалютнаяСуммаНачальныйОстатокКт,
	|0 КАК ВалютнаяСуммаКонечныйОстатокДт,
	|0 КАК ВалютнаяСуммаКонечныйОстатокКт,
	|0 КАК СуммаУпрНачальныйОстатокДт,
	|0 КАК СуммаУпрНачальныйОстатокКт,
	|0 КАК СуммаУпрКонечныйОстатокДт,
	|0 КАК СуммаУпрКонечныйОстатокКт,
	|0 КАК КоличествоНачальныйОстатокДт,
	|0 КАК КоличествоНачальныйОстатокКт,
	|0 КАК КоличествоКонечныйОстатокДт,
	|0 КАК КоличествоКонечныйОстатокКт,";*/
			if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаСум)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК ВалютнаяСуммаНачальныйОстатокДтИтог,
		|0 КАК ВалютнаяСуммаНачальныйОстатокКтИтог,
		|0 КАК ВалютнаяСуммаКонечныйОстатокДтИтог,
		|0 КАК ВалютнаяСуммаКонечныйОстатокКтИтог,";*/
			}
			if(true/*ПустаяСтрока(СчетИсточник.ПоказательИсточникаДанныхДляФактаКол)*/)
			{
				/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
		|0 КАК КоличествоНачальныйОстатокДтИтог,
		|0 КАК КоличествоНачальныйОстатокКтИтог,
		|0 КАК КоличествоКонечныйОстатокДтИтог,
		|0 КАК КоличествоКонечныйОстатокКтИтог";*/
			}
			/*ТекстЗапросаИсточник=ТекстЗапросаИсточник+"
	|ИЗ
	|("+РабочийТекстПериодКон+") КАК "+КодИсточника+"Кон"+ТекстСоединения;*/
			//ТекстОсновногоЗапроса=ТекстОсновногоЗапроса+ТекстЗапросаИсточник;
		}
		// ДобавитьВТекстОсновногоЗапросаОстаткиПериод()
	}
}
